// pages/profile/profile.js
import { userBehavior } from './behavior'
import { getStorage,setStorage} from '@/utils/storage'
import {reqUploadFile,reqUpdateUserInfo } from '@/api/user'
import { toast } from '@/utils/extendApi'

Page({

  behaviors: [userBehavior],

  // 页面的初始数据
  data: {
    isShowPopup: false // 控制更新用户昵称的弹框显示与否
  },

  // 显示修改昵称弹框
  onUpdateNickName() {
    this.setData({
      isShowPopup: true,
      'userInfo.nickname':this.data.userInfo.nickname,

    })
  },

  // 弹框取消按钮
  cancelForm() {
    this.setData({
      isShowPopup: false
    })
  },

  async chooseAvatar(event) {
    // console.log(event);

    const { avatarUrl } = event.detail

    const res = await reqUploadFile(avatarUrl, 'file')
    this.setData({
      'userInfo.headimgurl': res.data
    })
  },

  async updateUserInfo() {
    // 调用接口 api 函数 更新用户信息：
    const res = await reqUpdateUserInfo(this.data.userInfo)

    if (res.code === 200) {
      //  用户信息更新成功以后，需要将最新的用户信息 存储到本地
      setStorage('userInfo', this.data.userInfo) //最新用户信息

      //  同时存储到 store
      this.setUserInfo(this.data.userInfo)

      // 给用户进行提示：
      toast({
        title:'用户信息更新成功'
      })
    }
  },

  getNickName(event){
    // console.log(event.detail.value);
    const {nickname} = event.detail.value //解构修改后、最新的的用户昵称
    // console.log(nickname);
    this.setData({
      'userInfo.nickname':nickname,
      isShowPopup:false
    })
  }
})
